package com.base.po.voip;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class CommoditiesExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CommoditiesExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("ID like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("ID not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTmidIsNull() {
            addCriterion("TmID is null");
            return (Criteria) this;
        }

        public Criteria andTmidIsNotNull() {
            addCriterion("TmID is not null");
            return (Criteria) this;
        }

        public Criteria andTmidEqualTo(String value) {
            addCriterion("TmID =", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidNotEqualTo(String value) {
            addCriterion("TmID <>", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidGreaterThan(String value) {
            addCriterion("TmID >", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidGreaterThanOrEqualTo(String value) {
            addCriterion("TmID >=", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidLessThan(String value) {
            addCriterion("TmID <", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidLessThanOrEqualTo(String value) {
            addCriterion("TmID <=", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidLike(String value) {
            addCriterion("TmID like", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidNotLike(String value) {
            addCriterion("TmID not like", value, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidIn(List<String> values) {
            addCriterion("TmID in", values, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidNotIn(List<String> values) {
            addCriterion("TmID not in", values, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidBetween(String value1, String value2) {
            addCriterion("TmID between", value1, value2, "tmid");
            return (Criteria) this;
        }

        public Criteria andTmidNotBetween(String value1, String value2) {
            addCriterion("TmID not between", value1, value2, "tmid");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("Name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("Name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("Name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("Name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("Name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("Name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("Name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("Name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("Name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("Name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("Name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("Name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("Name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("Name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andPicIsNull() {
            addCriterion("Pic is null");
            return (Criteria) this;
        }

        public Criteria andPicIsNotNull() {
            addCriterion("Pic is not null");
            return (Criteria) this;
        }

        public Criteria andPicEqualTo(String value) {
            addCriterion("Pic =", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotEqualTo(String value) {
            addCriterion("Pic <>", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicGreaterThan(String value) {
            addCriterion("Pic >", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicGreaterThanOrEqualTo(String value) {
            addCriterion("Pic >=", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicLessThan(String value) {
            addCriterion("Pic <", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicLessThanOrEqualTo(String value) {
            addCriterion("Pic <=", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicLike(String value) {
            addCriterion("Pic like", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotLike(String value) {
            addCriterion("Pic not like", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicIn(List<String> values) {
            addCriterion("Pic in", values, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotIn(List<String> values) {
            addCriterion("Pic not in", values, "pic");
            return (Criteria) this;
        }

        public Criteria andPicBetween(String value1, String value2) {
            addCriterion("Pic between", value1, value2, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotBetween(String value1, String value2) {
            addCriterion("Pic not between", value1, value2, "pic");
            return (Criteria) this;
        }

        public Criteria andDetailurlIsNull() {
            addCriterion("DetailUrl is null");
            return (Criteria) this;
        }

        public Criteria andDetailurlIsNotNull() {
            addCriterion("DetailUrl is not null");
            return (Criteria) this;
        }

        public Criteria andDetailurlEqualTo(String value) {
            addCriterion("DetailUrl =", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlNotEqualTo(String value) {
            addCriterion("DetailUrl <>", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlGreaterThan(String value) {
            addCriterion("DetailUrl >", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlGreaterThanOrEqualTo(String value) {
            addCriterion("DetailUrl >=", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlLessThan(String value) {
            addCriterion("DetailUrl <", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlLessThanOrEqualTo(String value) {
            addCriterion("DetailUrl <=", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlLike(String value) {
            addCriterion("DetailUrl like", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlNotLike(String value) {
            addCriterion("DetailUrl not like", value, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlIn(List<String> values) {
            addCriterion("DetailUrl in", values, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlNotIn(List<String> values) {
            addCriterion("DetailUrl not in", values, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlBetween(String value1, String value2) {
            addCriterion("DetailUrl between", value1, value2, "detailurl");
            return (Criteria) this;
        }

        public Criteria andDetailurlNotBetween(String value1, String value2) {
            addCriterion("DetailUrl not between", value1, value2, "detailurl");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNull() {
            addCriterion("Category is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNotNull() {
            addCriterion("Category is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryEqualTo(String value) {
            addCriterion("Category =", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotEqualTo(String value) {
            addCriterion("Category <>", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThan(String value) {
            addCriterion("Category >", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThanOrEqualTo(String value) {
            addCriterion("Category >=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThan(String value) {
            addCriterion("Category <", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThanOrEqualTo(String value) {
            addCriterion("Category <=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLike(String value) {
            addCriterion("Category like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotLike(String value) {
            addCriterion("Category not like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryIn(List<String> values) {
            addCriterion("Category in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotIn(List<String> values) {
            addCriterion("Category not in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryBetween(String value1, String value2) {
            addCriterion("Category between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotBetween(String value1, String value2) {
            addCriterion("Category not between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andTbkurlIsNull() {
            addCriterion("TbkUrl is null");
            return (Criteria) this;
        }

        public Criteria andTbkurlIsNotNull() {
            addCriterion("TbkUrl is not null");
            return (Criteria) this;
        }

        public Criteria andTbkurlEqualTo(String value) {
            addCriterion("TbkUrl =", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlNotEqualTo(String value) {
            addCriterion("TbkUrl <>", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlGreaterThan(String value) {
            addCriterion("TbkUrl >", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlGreaterThanOrEqualTo(String value) {
            addCriterion("TbkUrl >=", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlLessThan(String value) {
            addCriterion("TbkUrl <", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlLessThanOrEqualTo(String value) {
            addCriterion("TbkUrl <=", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlLike(String value) {
            addCriterion("TbkUrl like", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlNotLike(String value) {
            addCriterion("TbkUrl not like", value, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlIn(List<String> values) {
            addCriterion("TbkUrl in", values, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlNotIn(List<String> values) {
            addCriterion("TbkUrl not in", values, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlBetween(String value1, String value2) {
            addCriterion("TbkUrl between", value1, value2, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andTbkurlNotBetween(String value1, String value2) {
            addCriterion("TbkUrl not between", value1, value2, "tbkurl");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNull() {
            addCriterion("Money is null");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNotNull() {
            addCriterion("Money is not null");
            return (Criteria) this;
        }

        public Criteria andMoneyEqualTo(BigDecimal value) {
            addCriterion("Money =", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotEqualTo(BigDecimal value) {
            addCriterion("Money <>", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThan(BigDecimal value) {
            addCriterion("Money >", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Money >=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThan(BigDecimal value) {
            addCriterion("Money <", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Money <=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyIn(List<BigDecimal> values) {
            addCriterion("Money in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotIn(List<BigDecimal> values) {
            addCriterion("Money not in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Money between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Money not between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeIsNull() {
            addCriterion("SalesVolume is null");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeIsNotNull() {
            addCriterion("SalesVolume is not null");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeEqualTo(Integer value) {
            addCriterion("SalesVolume =", value, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeNotEqualTo(Integer value) {
            addCriterion("SalesVolume <>", value, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeGreaterThan(Integer value) {
            addCriterion("SalesVolume >", value, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeGreaterThanOrEqualTo(Integer value) {
            addCriterion("SalesVolume >=", value, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeLessThan(Integer value) {
            addCriterion("SalesVolume <", value, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeLessThanOrEqualTo(Integer value) {
            addCriterion("SalesVolume <=", value, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeIn(List<Integer> values) {
            addCriterion("SalesVolume in", values, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeNotIn(List<Integer> values) {
            addCriterion("SalesVolume not in", values, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeBetween(Integer value1, Integer value2) {
            addCriterion("SalesVolume between", value1, value2, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andSalesvolumeNotBetween(Integer value1, Integer value2) {
            addCriterion("SalesVolume not between", value1, value2, "salesvolume");
            return (Criteria) this;
        }

        public Criteria andCommissionIsNull() {
            addCriterion("Commission is null");
            return (Criteria) this;
        }

        public Criteria andCommissionIsNotNull() {
            addCriterion("Commission is not null");
            return (Criteria) this;
        }

        public Criteria andCommissionEqualTo(BigDecimal value) {
            addCriterion("Commission =", value, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionNotEqualTo(BigDecimal value) {
            addCriterion("Commission <>", value, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionGreaterThan(BigDecimal value) {
            addCriterion("Commission >", value, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Commission >=", value, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionLessThan(BigDecimal value) {
            addCriterion("Commission <", value, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Commission <=", value, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionIn(List<BigDecimal> values) {
            addCriterion("Commission in", values, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionNotIn(List<BigDecimal> values) {
            addCriterion("Commission not in", values, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Commission between", value1, value2, "commission");
            return (Criteria) this;
        }

        public Criteria andCommissionNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Commission not between", value1, value2, "commission");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNull() {
            addCriterion("EndTime is null");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNotNull() {
            addCriterion("EndTime is not null");
            return (Criteria) this;
        }

        public Criteria andEndtimeEqualTo(Date value) {
            addCriterionForJDBCDate("EndTime =", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("EndTime <>", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThan(Date value) {
            addCriterionForJDBCDate("EndTime >", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EndTime >=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThan(Date value) {
            addCriterionForJDBCDate("EndTime <", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EndTime <=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIn(List<Date> values) {
            addCriterionForJDBCDate("EndTime in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("EndTime not in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EndTime between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EndTime not between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andTgurlIsNull() {
            addCriterion("TgUrl is null");
            return (Criteria) this;
        }

        public Criteria andTgurlIsNotNull() {
            addCriterion("TgUrl is not null");
            return (Criteria) this;
        }

        public Criteria andTgurlEqualTo(String value) {
            addCriterion("TgUrl =", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlNotEqualTo(String value) {
            addCriterion("TgUrl <>", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlGreaterThan(String value) {
            addCriterion("TgUrl >", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlGreaterThanOrEqualTo(String value) {
            addCriterion("TgUrl >=", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlLessThan(String value) {
            addCriterion("TgUrl <", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlLessThanOrEqualTo(String value) {
            addCriterion("TgUrl <=", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlLike(String value) {
            addCriterion("TgUrl like", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlNotLike(String value) {
            addCriterion("TgUrl not like", value, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlIn(List<String> values) {
            addCriterion("TgUrl in", values, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlNotIn(List<String> values) {
            addCriterion("TgUrl not in", values, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlBetween(String value1, String value2) {
            addCriterion("TgUrl between", value1, value2, "tgurl");
            return (Criteria) this;
        }

        public Criteria andTgurlNotBetween(String value1, String value2) {
            addCriterion("TgUrl not between", value1, value2, "tgurl");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNull() {
            addCriterion("DataStatus is null");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNotNull() {
            addCriterion("DataStatus is not null");
            return (Criteria) this;
        }

        public Criteria andDatastatusEqualTo(Boolean value) {
            addCriterion("DataStatus =", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotEqualTo(Boolean value) {
            addCriterion("DataStatus <>", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThan(Boolean value) {
            addCriterion("DataStatus >", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThanOrEqualTo(Boolean value) {
            addCriterion("DataStatus >=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThan(Boolean value) {
            addCriterion("DataStatus <", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThanOrEqualTo(Boolean value) {
            addCriterion("DataStatus <=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusIn(List<Boolean> values) {
            addCriterion("DataStatus in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotIn(List<Boolean> values) {
            addCriterion("DataStatus not in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusBetween(Boolean value1, Boolean value2) {
            addCriterion("DataStatus between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotBetween(Boolean value1, Boolean value2) {
            addCriterion("DataStatus not between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNull() {
            addCriterion("Discount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNotNull() {
            addCriterion("Discount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountEqualTo(Boolean value) {
            addCriterion("Discount =", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotEqualTo(Boolean value) {
            addCriterion("Discount <>", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThan(Boolean value) {
            addCriterion("Discount >", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThanOrEqualTo(Boolean value) {
            addCriterion("Discount >=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThan(Boolean value) {
            addCriterion("Discount <", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThanOrEqualTo(Boolean value) {
            addCriterion("Discount <=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountIn(List<Boolean> values) {
            addCriterion("Discount in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotIn(List<Boolean> values) {
            addCriterion("Discount not in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountBetween(Boolean value1, Boolean value2) {
            addCriterion("Discount between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotBetween(Boolean value1, Boolean value2) {
            addCriterion("Discount not between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andIsbyIsNull() {
            addCriterion("IsBY is null");
            return (Criteria) this;
        }

        public Criteria andIsbyIsNotNull() {
            addCriterion("IsBY is not null");
            return (Criteria) this;
        }

        public Criteria andIsbyEqualTo(Boolean value) {
            addCriterion("IsBY =", value, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyNotEqualTo(Boolean value) {
            addCriterion("IsBY <>", value, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyGreaterThan(Boolean value) {
            addCriterion("IsBY >", value, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsBY >=", value, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyLessThan(Boolean value) {
            addCriterion("IsBY <", value, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyLessThanOrEqualTo(Boolean value) {
            addCriterion("IsBY <=", value, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyIn(List<Boolean> values) {
            addCriterion("IsBY in", values, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyNotIn(List<Boolean> values) {
            addCriterion("IsBY not in", values, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyBetween(Boolean value1, Boolean value2) {
            addCriterion("IsBY between", value1, value2, "isby");
            return (Criteria) this;
        }

        public Criteria andIsbyNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsBY not between", value1, value2, "isby");
            return (Criteria) this;
        }

        public Criteria andIsjxIsNull() {
            addCriterion("IsJx is null");
            return (Criteria) this;
        }

        public Criteria andIsjxIsNotNull() {
            addCriterion("IsJx is not null");
            return (Criteria) this;
        }

        public Criteria andIsjxEqualTo(Boolean value) {
            addCriterion("IsJx =", value, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxNotEqualTo(Boolean value) {
            addCriterion("IsJx <>", value, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxGreaterThan(Boolean value) {
            addCriterion("IsJx >", value, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsJx >=", value, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxLessThan(Boolean value) {
            addCriterion("IsJx <", value, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxLessThanOrEqualTo(Boolean value) {
            addCriterion("IsJx <=", value, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxIn(List<Boolean> values) {
            addCriterion("IsJx in", values, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxNotIn(List<Boolean> values) {
            addCriterion("IsJx not in", values, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxBetween(Boolean value1, Boolean value2) {
            addCriterion("IsJx between", value1, value2, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsjxNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsJx not between", value1, value2, "isjx");
            return (Criteria) this;
        }

        public Criteria andIsallIsNull() {
            addCriterion("IsAll is null");
            return (Criteria) this;
        }

        public Criteria andIsallIsNotNull() {
            addCriterion("IsAll is not null");
            return (Criteria) this;
        }

        public Criteria andIsallEqualTo(Boolean value) {
            addCriterion("IsAll =", value, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallNotEqualTo(Boolean value) {
            addCriterion("IsAll <>", value, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallGreaterThan(Boolean value) {
            addCriterion("IsAll >", value, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsAll >=", value, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallLessThan(Boolean value) {
            addCriterion("IsAll <", value, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallLessThanOrEqualTo(Boolean value) {
            addCriterion("IsAll <=", value, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallIn(List<Boolean> values) {
            addCriterion("IsAll in", values, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallNotIn(List<Boolean> values) {
            addCriterion("IsAll not in", values, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallBetween(Boolean value1, Boolean value2) {
            addCriterion("IsAll between", value1, value2, "isall");
            return (Criteria) this;
        }

        public Criteria andIsallNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsAll not between", value1, value2, "isall");
            return (Criteria) this;
        }

        public Criteria andIshotIsNull() {
            addCriterion("IsHot is null");
            return (Criteria) this;
        }

        public Criteria andIshotIsNotNull() {
            addCriterion("IsHot is not null");
            return (Criteria) this;
        }

        public Criteria andIshotEqualTo(Boolean value) {
            addCriterion("IsHot =", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotNotEqualTo(Boolean value) {
            addCriterion("IsHot <>", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotGreaterThan(Boolean value) {
            addCriterion("IsHot >", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsHot >=", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotLessThan(Boolean value) {
            addCriterion("IsHot <", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotLessThanOrEqualTo(Boolean value) {
            addCriterion("IsHot <=", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotIn(List<Boolean> values) {
            addCriterion("IsHot in", values, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotNotIn(List<Boolean> values) {
            addCriterion("IsHot not in", values, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsHot between", value1, value2, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsHot not between", value1, value2, "ishot");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterionForJDBCDate("CreateTime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("CreateTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterionForJDBCDate("CreateTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CreateTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterionForJDBCDate("CreateTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CreateTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterionForJDBCDate("CreateTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("CreateTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CreateTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CreateTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andYhstartIsNull() {
            addCriterion("YhStart is null");
            return (Criteria) this;
        }

        public Criteria andYhstartIsNotNull() {
            addCriterion("YhStart is not null");
            return (Criteria) this;
        }

        public Criteria andYhstartEqualTo(String value) {
            addCriterion("YhStart =", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartNotEqualTo(String value) {
            addCriterion("YhStart <>", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartGreaterThan(String value) {
            addCriterion("YhStart >", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartGreaterThanOrEqualTo(String value) {
            addCriterion("YhStart >=", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartLessThan(String value) {
            addCriterion("YhStart <", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartLessThanOrEqualTo(String value) {
            addCriterion("YhStart <=", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartLike(String value) {
            addCriterion("YhStart like", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartNotLike(String value) {
            addCriterion("YhStart not like", value, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartIn(List<String> values) {
            addCriterion("YhStart in", values, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartNotIn(List<String> values) {
            addCriterion("YhStart not in", values, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartBetween(String value1, String value2) {
            addCriterion("YhStart between", value1, value2, "yhstart");
            return (Criteria) this;
        }

        public Criteria andYhstartNotBetween(String value1, String value2) {
            addCriterion("YhStart not between", value1, value2, "yhstart");
            return (Criteria) this;
        }

        public Criteria andRemainCountIsNull() {
            addCriterion("remain_count is null");
            return (Criteria) this;
        }

        public Criteria andRemainCountIsNotNull() {
            addCriterion("remain_count is not null");
            return (Criteria) this;
        }

        public Criteria andRemainCountEqualTo(Integer value) {
            addCriterion("remain_count =", value, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountNotEqualTo(Integer value) {
            addCriterion("remain_count <>", value, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountGreaterThan(Integer value) {
            addCriterion("remain_count >", value, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("remain_count >=", value, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountLessThan(Integer value) {
            addCriterion("remain_count <", value, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountLessThanOrEqualTo(Integer value) {
            addCriterion("remain_count <=", value, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountIn(List<Integer> values) {
            addCriterion("remain_count in", values, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountNotIn(List<Integer> values) {
            addCriterion("remain_count not in", values, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountBetween(Integer value1, Integer value2) {
            addCriterion("remain_count between", value1, value2, "remainCount");
            return (Criteria) this;
        }

        public Criteria andRemainCountNotBetween(Integer value1, Integer value2) {
            addCriterion("remain_count not between", value1, value2, "remainCount");
            return (Criteria) this;
        }

        public Criteria andShopidIsNull() {
            addCriterion("ShopID is null");
            return (Criteria) this;
        }

        public Criteria andShopidIsNotNull() {
            addCriterion("ShopID is not null");
            return (Criteria) this;
        }

        public Criteria andShopidEqualTo(String value) {
            addCriterion("ShopID =", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidNotEqualTo(String value) {
            addCriterion("ShopID <>", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidGreaterThan(String value) {
            addCriterion("ShopID >", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidGreaterThanOrEqualTo(String value) {
            addCriterion("ShopID >=", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidLessThan(String value) {
            addCriterion("ShopID <", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidLessThanOrEqualTo(String value) {
            addCriterion("ShopID <=", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidLike(String value) {
            addCriterion("ShopID like", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidNotLike(String value) {
            addCriterion("ShopID not like", value, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidIn(List<String> values) {
            addCriterion("ShopID in", values, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidNotIn(List<String> values) {
            addCriterion("ShopID not in", values, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidBetween(String value1, String value2) {
            addCriterion("ShopID between", value1, value2, "shopid");
            return (Criteria) this;
        }

        public Criteria andShopidNotBetween(String value1, String value2) {
            addCriterion("ShopID not between", value1, value2, "shopid");
            return (Criteria) this;
        }

        public Criteria andIsnewIsNull() {
            addCriterion("IsNew is null");
            return (Criteria) this;
        }

        public Criteria andIsnewIsNotNull() {
            addCriterion("IsNew is not null");
            return (Criteria) this;
        }

        public Criteria andIsnewEqualTo(Boolean value) {
            addCriterion("IsNew =", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotEqualTo(Boolean value) {
            addCriterion("IsNew <>", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewGreaterThan(Boolean value) {
            addCriterion("IsNew >", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsNew >=", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLessThan(Boolean value) {
            addCriterion("IsNew <", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLessThanOrEqualTo(Boolean value) {
            addCriterion("IsNew <=", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewIn(List<Boolean> values) {
            addCriterion("IsNew in", values, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotIn(List<Boolean> values) {
            addCriterion("IsNew not in", values, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewBetween(Boolean value1, Boolean value2) {
            addCriterion("IsNew between", value1, value2, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsNew not between", value1, value2, "isnew");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}